package OptimalAlgorithm.Simulation;

import java.util.Arrays;

//给你一个仅包含小写英文字母和 '?' 字符的字符串 s，请你将所有的 '?' 转换为若干小写字母，使最终的字符串不包含任何 连续重复 的字符。
//eg:
//输入：s = "?zs"
//输出："azs"
//解释：该示例共有 25 种解决方案，从 "azs" 到 "yzs" 都是符合题目要求的。只有 "z" 是无效的修改，因为字符串 "zzs" 中有连续重复的两个 'z' 。
public class ModifyString {
    public String modifyString(String s) {
        char[] ch = s.toCharArray();
        for (int i = 0; i < ch.length; i++) {
            if(ch[i] == '?'){
                for (char j = 'a'; j <= 'z'; j++) {
                    if((i == 0 || ch[i - 1] != j) && (i == ch.length - 1 || ch[i + 1] != j)){
                        ch[i] = j;
                        break;
                    }
                }
            }
        }
        return String.valueOf(ch);
    }
}
